/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package nominalitzacions.domain;

import commonlib.domain.Corpus;
import commonlib.domain.Rules;

/**
 *
 * @author marc.mauri
 */
public class ActiveLanguage extends LanguageState {

    private static final ActiveLanguage al = new ActiveLanguage();
    private NominalizatorDictionary infDico;
    private NominalizatorDictionary irregDico;
    private NominalizatorDictionary nameDico;
    private Corpus corpus;
    private Rules rules;

    private ActiveLanguage() {

    }

    public static ActiveLanguage getInstance() {
        return al;
    }

    @Override
    public NominalizatorDictionary getInfDico() {
        return infDico;
    }

    @Override
    public void setInfDico(NominalizatorDictionary infDico) {
        this.infDico = infDico;
    }

    @Override
    public NominalizatorDictionary getIrregDico() {
        return irregDico;
    }

    @Override
    public void setIrregDico(NominalizatorDictionary irregDico) {
        this.irregDico = irregDico;
    }

    @Override
    public NominalizatorDictionary getNameDico() {
        return nameDico;
    }

    @Override
    public void setNameDico(NominalizatorDictionary nameDico) {
        this.nameDico = nameDico;
    }

    @Override
    public void setRules(Rules rules) {
        this.rules = rules;
    }

    @Override
    public Rules getRules() {
        return rules;
    }

    @Override
    public Corpus getCorpus() throws UnsupportedOperationException {
        return corpus;
    }

    @Override
    public void setCorpus(Corpus corpus) throws UnsupportedOperationException {
        this.corpus = corpus;
    }

    @Override
    public void switchLanguageOn(NominalizatorDictionary infDico,
                                    NominalizatorDictionary irregDico,
                                    NominalizatorDictionary nounDico,
                                    Corpus corpus, Rules rules)
                                    throws UnsupportedOperationException {
        throw new UnsupportedOperationException("The Language is already Active");
    }
    
    

}
